#ifndef ABSTRACTAPPSETTINGSSTORAGE_H
#define ABSTRACTAPPSETTINGSSTORAGE_H

#include <exception>
#include <QCoreApplication>
#include <QObject>
#include "../singleton.h"

#define SETTINGS AbstractAppSettingsStorage::instance()

class AbstractAppSettingsStorage : public QObject, public Singleton<AbstractAppSettingsStorage> {
	Q_OBJECT
public:
	virtual QString host() = 0;
	virtual void saveHost(const QString &host) = 0;

	virtual QString login() = 0;
	virtual void saveLogin(const QString &login) = 0;

	virtual QString password() = 0;
	virtual void savePassword(const QString &password) = 0;
signals:

public slots:
protected:
	explicit AbstractAppSettingsStorage(QObject *parent) :
		QObject(parent){}
};

#endif // ABSTRACTAPPSETTINGSSTORAGE_H
